GDK W32: Use layered windows
authorРуслан Ижбулатов <lrn1986@gmail.com>
Tue, 23 Feb 2016 09:20:55 +0000 (09:20 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Wed, 2 Mar 2016 21:42:50 +0000 (21:42 +0000)
commitc05f254a6e3a715105f10c495caebed9a3a682c9
tree1ced12ff7c6ec597197752f9498984fccf9b4f18
parente03946bd285d860fc9011a2fbb5363c2a176aaab
GDK W32: Use layered windows

Toplevels are now true layered windows that are moved,
resized and repainted via UpdateLayeredWindow() API call.
This achieves transparency without any extra effort,
and prevents window size and window contents desychronization
(bug 761629).

This also changes the way CSD windows are detected. We now
use window decorations to detect CSDiness of a window,
and to decide whether a window should be layered (CSD windows should
be) or not.

Decorations are now stored in the window implementation,
not as a quark-based property of the window-as-gobject.

https://bugzilla.gnome.org/show_bug.cgi?id=748872
gdk/win32/gdkevents-win32.c
gdk/win32/gdkprivate-win32.h
gdk/win32/gdkwindow-win32.c
gdk/win32/gdkwindow-win32.h